Skip to content

[PERF FW] Insecure cert libcurl#3434

Merged
vhvb1989 merged 15 commits intoAzure:mainfrom
vhvb1989:insecure-cert-libcurl
Mar 21, 2022
Merged

[PERF FW] Insecure cert libcurl#3434
vhvb1989 merged 15 commits intoAzure:mainfrom
vhvb1989:insecure-cert-libcurl

Conversation

@vhvb1989
Copy link
Member

@vhvb1989 vhvb1989 commented Mar 15, 2022

fixes: #1554
fixes: #2266

Make performance framework to set up the transport adapter to do insecure SSL (not validating peer cert).

Adding support for winHTTP to perform insecure requests (ignore unknown server certificate).

How to use:
Add parameter --insecure when running performance tests.

This is util for using an https proxy with a custom certificate

@vhvb1989 vhvb1989 added the pillar-performance The issue is related to performance, one of our core engineering pillars. label Mar 15, 2022
@vhvb1989 vhvb1989 added this to the [2022] April milestone Mar 15, 2022
@vhvb1989 vhvb1989 requested a review from LarryOsterman as a code owner March 15, 2022 18:48
@vhvb1989 vhvb1989 self-assigned this Mar 15, 2022
@vhvb1989 vhvb1989 requested a review from mikeharder March 15, 2022 18:51
@vhvb1989 vhvb1989 changed the title Insecure cert libcurl [PERF FW] Insecure cert libcurl Mar 15, 2022
@vhvb1989 vhvb1989 requested a review from LarryOsterman March 16, 2022 07:40
@vhvb1989 vhvb1989 requested a review from LarryOsterman March 16, 2022 22:33
@vhvb1989 vhvb1989 merged commit af590d8 into Azure:main Mar 21, 2022
* @brief When `true`, allows an invalid certificate authority. If this flag is set, the
* application does not receive a WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA callback.
*/
bool IgnoreUnknownServerCert = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we avoid abbreviations and use IgnoreUnknownCertificateAuthority?

nit: What should the reader infer from server here in the name?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In a TLS 1.2 connection, there are two possible certificates: The server certificate and the client certificate. The server validates the client certificate, and the client validates the server certificate. This variable controls the validation of the server certificate, so it makes sense to me that the variable name should probably include "Server", since there is some level of ambiguity present.

Having said that, the variable doesn't control if it ignores an unknown server certificate, instead as you mentioned, the flag controls if an unknown CA should be allowed, which is somewhat different (a server certificate could be invalid if (for instance) the subject didn't match the IP address of the server - this flag doesn't disable that check).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pillar-performance The issue is related to performance, one of our core engineering pillars.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WinHTTP transport adapter can't run the injector server tests [Perf Fw] Add insecure ssl

3 participants